package com.probiz.estore.catalog.dao;

import java.util.List;

import com.probiz.estore.catalog.model.VirtualCategorySearchCriteria;
import com.probiz.estore.common.model.catalog.VirtualCategory;
import com.probiz.estore.core.search.SearchCriteria;
/**
 * Dao interface for VirtualCategory.
 */
public interface VirtualCategoryDao extends BaseCategoryDao<VirtualCategory>{
	 /**
     * 获取指定目录编码的目录
     *
     * @param categoryCode 目录编码
     * @return 含指定目录编码的目录
     */
    public VirtualCategory getCategoryByCode(String categoryCode);

    /**
     * 搜索目录
     *
     * @param virtualCategorySearchCriteria 自定义搜索条件
     * @param searchCriteria                分页搜索条件
     * @return 目录搜索结果列表
     */
    public List<VirtualCategory> searchByCriteria(VirtualCategorySearchCriteria virtualCategorySearchCriteria, SearchCriteria searchCriteria);

    /**
     * 获取导航目录，即获得上级目录和自身目录，不包括根目录
     *
     * @param categoryId 目录主键
     * @return 导航目录。例如 获得金币[冬季专场，暑假热卖]
     */
    public List<VirtualCategory> getNavigationCategories(Integer categoryId);
    /**
     * 根据目录编码找出目录个数，但该目录的不能是参数id所指定的目录
     *
     * @param categoryCode 目录编码
     * @param categoryId 目录id
     * @return 个数
     */
    public Long getSizeByCategoryCodeByNotCategoryId(String categoryCode,Integer categoryId);
}